The present invention relates to a method for defining the reference time error of a receiver in a positioning means, to a positioning system having a receiver with means for forming a reference time, and to an electronic device having means for forming a reference time.
One known positioning system is the GPS system (Global Positioning System) which presently comprises more than 20 satellites, of which a maximum of 12 are simultaneously within the sight of a receiver. These satellites transmit e.g. Ephemeris data of the satellite, as well as data on the time of the satellite. A receiver used in positioning normally deduces its position by calculating the propagation time of a signal transmitted simultaneously from several satellites belonging to the positioning system to the receiver. For the positioning, the receiver must typically receive the signal of at least four satellites within sight to compute the position.
Each satellite of the GPS system transmits a ranging signal at a carrier frequency of 1575.42 MHz called L1. This frequency is also indicated with 154f0, where f0=10.23 MHz. Furthermore, the satellites transmit another ranging signal at a carrier frequency of 1227.6 MHz called L2, i.e. 120f0. In the satellite, the modulation of these signals is performed with at least one pseudo random sequence. This pseudo random sequence is different for each satellite. As a result of the modulation, a code-modulated wideband signal is generated. The modulation technique used makes it possible in the receiver to distinguish between the signals transmitted from different satellites, although the carrier frequencies used in the transmission are substantially the same. This modulation technique is called code division multiple access (CDMA). In each satellite, for modulating the L1 signal, the pseudo sequence used is e.g. a so-called C/A code (Coarse/Acquisition code), which is a code from the family of the Gold codes. Each GPS satellite transmits a signal by using an individual C/A code. The codes are formed as a modulo-2 sum of two 1023-bit binary sequences. The first binary sequence G1 is formed with a polynome X10+X3+1, and the second binary sequence G2 is formed by delaying the polynome X10+X9+X8+X6+X3+X2+1 in such a way that the delay is different for each satellite. This arrangement makes it possible to produce different C/A codes with an identical code generator. The C/A codes are thus binary codes whose chipping rate in the GPS system is 1.023 MHz. The C/A code comprises 1023 chips, wherein the iteration time (epoch) of the code is 1 ms. The carrier of the L1 signal is further modulated by navigation information at a bit rate of 50 bit/s. The navigation information comprises information about the xe2x80x9chealthxe2x80x9d, orbit, time data of the satellite, etc.
During their operation, the satellites monitor the condition of their equipment. The satellites may use for example so-called watch-dog operations to detect and report possible faults in the equipment. The errors and malfunctions can be instantaneous or longer lasting. On the basis of the health data, some of the faults can possibly be compensated for, or the information transmitted by a malfunctioning satellite can be totally disregarded. Furthermore, in a situation in which the signal of more than four satellites can be received, the information received from different satellites can be weighted differently on the basis of the health data. Thus, it is possible to minimize the effect of errors on measurements, possibly caused by satellites which seem unreliable.
To detect the signals of the satellites and to identify the satellites, the receiver must perform acquisition, whereby the receiver searches for the signal of each satellite at the time and attempts to be synchronized and locked to this signal so that the data transmitted with the signal can be received and demodulated.
The positioning receiver must perform the acquisition e.g. when the receiver is turned on and also in a situation in which the receiver has not been capable of receiving the signal of any satellite for a long time. Such a situation can easily occur e.g. in portable devices, because the device is moving and the antenna of the device is not always in an optimal position in relation to the satellites, which impairs the strength of the signal coming in the receiver. Also, in urban areas, buildings affect the signal to be received, and furthermore, so-called multipath propagation can occur, wherein the transmitted signal comes into the receiver along different paths, e.g. directly from the satellite (line-of-sight) and also reflected from buildings. This multipath propagation causes that the same signal is received as several signals with different phases.
The positioning arrangement has two primary functions:
1. to calculate the pseudo range between the receiver and the different GPS satellites, and
2. to determine the position of the receiver by utilizing the calculated pseudo ranges and the position data of the satellites. The position data of the satellites at each time can be calculated on the basis of the Ephemeris and time correction data received from the satellites.
The distances to the satellites are called pseudo ranges, because the time is not accurately known in the receiver. Thus, the determinations of position and time are repeated until a sufficient accuracy is achieved with respect to time and position. Because time is not known with absolute precision, the position and the time must be determined e.g. by linearizing a set of equations for each new iteration.
The pseudo range can be calculated by measuring the pseudo transmission time delays between signals of different satellites.
Almost all known GPS receivers utilize correlation methods for acquisition to the code as well as for tracking. In a positioning receiver, reference codes ref(k), i.e. the pseudo random sequences for different satellites are stored or generated locally. A received signal is subjected to conversion to an intermediate frequency (down conversion), after which the receiver multiplies the received signal with the stored pseudo random sequence. The signal obtained as a result of the multiplication is integrated or low-pass filtered, wherein the result is data about whether the received signal contained a signal transmitted by a satellite. The multiplication is iterated in the receiver so that each time, the phase of the pseudo random sequence stored in the receiver is shifted. The correct phase is inferred from the correlation result preferably so that when the correlation result is the greatest, the correct phase has been found. Thus, the receiver is correctly synchronized with the received signal. After the code acquisition has been completed, the next steps are frequency tuning and phase locking.
The above-mentioned acquisition and frequency control process must be performed for each signal of a satellite received in the receiver. Some receivers may have several receiving channels, wherein an attempt is made on each receiving channel to be synchronized with the signal of one satellite at a time and to find out the information transmitted by this satellite.
The positioning receiver receives information transmitted by satellites and performs positioning on the basis of the received information. For the positioning, the receiver must receive the signal transmitted by at least four different satellites to find out the x, y, z coordinates and the time data. The received navigation information is stored in a memory, wherein this stored information can be used to find out e.g. the Ephemeris data of satellites.
FIG. 1 shows, in a principle chart, positioning in a positioning receiver MS by means of a signal transmitted from four satellites SV1, SV2, SV3, SV4. In the GPS system, the satellites transmit Ephemeris data as well as time data, on the basis of which the positioning receiver can perform calculations to determine the position of the satellite at a time. These Ephemeris data and time data are transmitted in frames which are further divided into subframes. FIG. 2 shows an example of such a frame structure FR. In the GPS system, each frame comprises 1500 bits which are divided into five subframes of 300 bits each. Since the transmission of one bit takes 20 ms, the transmission of each subframe thus takes 6 s, and the whole frame is transmitted in 30 seconds. The subframes are numbered from 1 to 5. In each sub-frame 1, e.g. time data is transmitted, indicating the moment of transmission of the subframe as well as information about the deviation of the satellite clock with respect to the time in the GPS system.
The subframes 2 and 3 are used for the transmission of Ephemeris data. The subframe 4 contains other system information, such as universal time, coordinated (UTC). The subframe 5 is intended for the transmission of almanac data of all the satellites. The entity of these subframes and frames is called a GPS navigation message which comprises 25 frames, i.e. 125 subframes. The length of the navigation message is thus 12 min 30 s.
In the GPS system, time is measured in seconds from the beginning of a week. In the GPS system, the moment of beginning of a week is midnight between a Saturday and a Sunday. Each subframe to be transmitted contains information on the moment of the GPS week when the subframe in question was transmitted. Thus, the time data indicates the time of transmission of a certain bit, i.e. in the GPS system, the time of transmission of the last bit in the subframe in question. In the satellites, time is measured with high-precision atomic chronometers. In spite of this, the operation of each satellite is controlled in a control centre for the GPS system (not shown), and e.g. a time comparison is performed to detect chronometric errors in the satellites and to transmit this information to the satellite.
In the precision of positioning it is of great importance how precisely the real GPS time is known by the receiver. In practice, precise GPS time can be defined after the positioning calculation, in which the clock error of the receiver with respect to the GPS time is determined. However, in the very first positioning calculation an estimation of the GPS time can be used, because the receiver does not necessarily know the real GPS time. The estimated GPS time at a moment of time k can be derived on the basis of measurement of three time elements according to the following formula:                                           T            GPS            j                    ⁡                      (            k            )                          =                                            T              TOW                        ⁡                          (              k              )                                +                                    T                              m                ⁢                                  xe2x80x83                                ⁢                s                            j                        ⁡                          (              k              )                                +                                    T              chip              j                        ⁡                          (              k              )                                +                      0            ⁢                          ,                        ⁢            078                                              (        1        )            
in which
TTOWj=the time data (time of week) in seconds contained in the last received subframe,             T              m        ⁢                  xe2x80x83                ⁢        s            j        ⁡          (      k      )        =
xe2x80x83the time corresponding to the number of C/A epochs received after the beginning of the last received subframe in seconds,             T      chip      j        ⁡          (      k      )        =
xe2x80x83the time in seconds corresponding to the number (from 0 to 1022) and code phase of whole chips received after the last change of epoch,
j=the receiving channel index.
In Formula 1, the average time of flight (ToF) of the signal from the satellite to the receiver is 78 ms. As a reference it is possible to use any such receiving channel in which the signal-to-noise ratio (SNR) is sufficient.
The time data (ToW) is transmitted in the navigation message at intervals of six seconds and it indicates the time passed from the last change of the GPS week. Thus, the value range of the time data is the remainder of one week. In a corresponding manner       T          m      ⁢              xe2x80x83            ⁢      s        j    ⁡      (    k    )  
equals the remainder of six seconds and       T    chip    j    ⁡      (    k    )  
equals the remainder of 1 ms. The first three terms of the Formula (1) can also be used in the measurement of the time of arrival (ToA) of the signal.
In poor receiving conditions in which the navigation data cannot be indicated e.g. due to a high bit error rate (BER), it is not possible to determine the GPS time directly by means of the Formula 1. However, the code phase can normally still be measured.
The first three terms in the Formula 1 determine the time of transmission       T    ^    ToT  k
of the received signal.
The appended FIG. 3 illustrates this formula and its different terms, used for estimating the time of transmission of a signal received at a moment of positioning. It is obvious that FIG. 3 is simplified with respect to the real situation, because e.g. one epoch comprises 1023 chips, wherein it is not reasonable to illustrate them in detail. The moment of positioning is illustrated by a dash-and-dot line indicated with the reference SM.
It is important to calculate the time of transmission of the received signal for each signal to be tracked, because the local reference time of the receiver, formed by the local oscillator of the receiver, is coupled to the GPS time on the basis of these values. Furthermore, the different propagation times of signals received from different satellites can be deduced from these measured values, because each satellite transmits the same chip substantially at the same time. Even though there may be minor differences in the timings of different satellites, they are monitored, and the error data is transmitted in the GPS navigation message, as was already mentioned above.
Under good receiving conditions and upon using an advantageous satellite constellation, the user""s position and time error can be solved very accurately. A good satellite constellation means that the satellites to be used for positioning are selected so that seen from the receiver, they are clearly located in different directions, or the space angles at which the signals transmitted from different satellites arrive at the receiver are clearly different from each other.
However, in a situation where the received signal is weak, the information contained in the received navigation message cannot necessarily be utilized. Thus, the only useful measurements of the baseband signal relate to the number of chips and the code phase. If the receiver does not contain appropriate Ephemeris data and reference clock is not available therein, it is not, however, possible to calculate the position solely on the basis of the number of the chips and the code phase. Furthermore, the old Ephemeris data does not indicate the location of the satellites sufficiently accurately, wherein the precision of positioning is impaired. In the worst case the receiver does not contain any navigation data, which means that the times of transmission of the signals cannot be calculated, and the positioning is unsuccessful. In a corresponding manner, the lack of a reference clock makes it impossible to estimate the GPS time by means of methods of prior art, even though Ephemeris data was available. This means that in order to conduct positioning, the Ephemeris data must be defined from a different source than from the received signal transmitted by the satellites, if the aim is to perform positioning.
In practical applications the accuracy of the real-time clock RTC of the receiver can vary. In a corresponding manner, the time data transmitted from a base station BS of the mobile communication network and received by a receiver BS can be significantly, even several minutes delayed. However, this delay is not known by the receiver, and in addition, the delay can vary in different times of transmission of the time data. Furthermore, if the receiver is not capable of decoding the information transmitted in the navigation message, the receiver cannot obtain information of the GPS time. Inaccurate estimation of GPS time can cause significant errors in the positioning. Inaccurate estimation of GPS time results in that the calculated location of the satellites in inaccurate, which can cause an error of several milliseconds in pseudo ranges, wherein the calculated location of the receiver is also inaccurate. Furthermore, the rates of the satellites are possibly estimated inaccurately, wherein in the receiver the Doppler shift is possibly estimated incorrectly, wherein errors occur also in the definition of the transfer speed of the receiver whereby reliable function of a tracking loop is possibly prevented. Due to an inaccurate estimation of GPS time the receiver cannot utilize the prediction of the bit edge and coherent integration by means of which the effect of the navigation data modulated to the signal in locking and tracking could be eliminated. Furthermore, a coherent integration for a period of time longer than the duration of the modulating bit is not possible, if the receiver is not capable of defining the timing of the bit edge. Furthermore, when defining the code phase the receiver cannot use such a narrow search window which would be possible if the time estimation was correct.
It is an aim of the present invention to provide a method for reducing the effects of time data inaccuracies in determining the position of a receiver also when the signal strength is so weak that navigation information cannot be received. It is also an aim of the invention to provide a positioning receiver. The invention is based on the idea, that time data is defined at two different stages, wherein the time data used in positioning is defined at one stage and the time data of the satellites corresponding to the location of the satellite at the other. These two pieces of time data are defined irrespective of each other. The aim is to utilize the time data defined in both ways to find such a value of the time data in which the error estimated from the positioning data is substantially in the minimum. The method according to the present invention is primarily characterized in what will be presented in the characterizing part of the appended claim 1. The positioning system according to the present invention is primarily characterized in what will be presented in the characterizing part of the appended claim 7. Further, the electronic device according to the present invention is primarily characterized in what will be presented in the characterizing part of the appended claim 14.
Considerable advantages are achieved by the present invention when compared with methods and positioning receivers of prior art. When the method according to the invention is applied, it is possible to improve the accuracy of the positioning, because the error in the time data can be minimized. Furthermore, in a method according to a preferred embodiment of the invention it is possible to accelerate the positioning, because the error in the time data can be defined more accurately, and this information can be utilized in new positioning processes.
In the method according to a preferred embodiment of the invention the calculations required in the positioning are primarily conducted in a computing server which communicates with a data transmission network, wherein the calculation can be conducted considerably faster than in solutions of prior art.
Furthermore, the network-based implementation according to a preferred embodiment of the invention also has additional advantages when compared to a network-assisted receiver. When positioning calculation is instead of a receiver performed in a data transmission network, it is not necessary for the data transmission network to transmit to the receiver any auxiliary data used in the positioning, such as Ephemeris data. Thus, the reduced need for data transmission also reduces the loading in the data transmission network.
In some situations the first positioning (TTFF, time to first fix) may, for example after the positioning receiver is switched on, be faster in a network-based implementation than in a network-assisted implementation, because in the network-based implementation the positioning receiver must send only the measured chip and code phase measurements to the computing server. In the transfer of these measurements a considerably smaller number of bits is required than in the transmission of auxiliary data from the data transmission network to the positioning receiver. Especially if the data transmission network is loaded, the positioning in the network-assisted method may be delayed when the auxiliary data is delayed in the network. However, in a network-based implementation the positioning can be calculated substantially immediately after the receiver has received the chip and code phase measurements from the positioning receiver. This has considerable advantage especially in emergency situations, as the calculated position of the receiver is known substantially immediately, and it is not necessary to wait for the transfer of the same from the positioning receiver.
Considerable advantages are achieved by the present invention when compared with methods and positioning receivers of prior art. When the method according to the invention is applied, it is possible to perform positioning also in cases where the strength of the received signal is very weak, for example inside buildings. By means of the method according to the invention, it is possible to better detect the starting points and value of the bits in the received signal.